Release 10.1A: OpenEdge Development:
Programming Interfaces
How Progress encapsulates an ActiveX control
Progress encapsulates an ActiveX control using the control-frame. The control-frame provides the basic interface between the ActiveX control and the 4GL through its two separate but related objects, the control-frame widget and the control-frame COM object. (For an overview of the relationship between ActiveX controls and the control-frame, see Chapter 8, " Introduction to External Program Interfaces.")
Control-frame widget
The control-frame widget is a field-level widget, and as such it establishes the relationship between the ActiveX control and other Progress widgets in the user interface. Thus, it is the control-frame widget attributes (like
ROWandTAB-POSITION) that maintain the relationship between the ActiveX control and other field-level widgets. For example, the spin button control in Figure 16–1 has a location and tab order that is determined by the control-frame widget location and tab order in the Customer Information dialog box.The control-frame widget also allows you to handle widget events that interact with other field-level widgets (like
TABandLEAVE) or that have special Progress significance (likeGOandEND-ERROR). For more information on handling widget events in the 4GL, see the sections on user input and user-interface triggers in OpenEdge Development: Progress 4GL Handbook .Control-frame COM object
The control-frame COM object is the actual ActiveX control container. It provides the initial point of access to the ActiveX control from the 4GL. Through this COM object you can access the component handle of the ActiveX control, which in turn allows you to directly access the ActiveX control’s properties and methods. For information on accessing ActiveX control properties and methods in the 4GL, see Chapter 14, " Using COM Objects in the 4GL."
Figure 16–2 shows the relationship between the ActiveX control, its control-frame, and other widgets in the Progress user interface.
Figure 16–2: ActiveX control encapsulation in Progress
![]()
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |